/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Controladores;

import DataTypes.DataGrupo;
import DataTypes.DataUsuario;
import Hndlr.HndlrGrupo;
import Hndlr.HndlrUsuario;
import Interfaces.ICtrlModifMiembrosGrupo;
import enums.enumRol;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import objetos.Rol;
import objetos.Usuario;

/**
 *
 * @author Sebas
 */
public class CtrlModifMiembrosGrupo implements ICtrlModifMiembrosGrupo{
    @Override
    public void agregarMiembroGrupo(String nomGrupo,String claveUsuario){
        HndlrUsuario hUsu = HndlrUsuario.getInstance();
        Usuario usr = hUsu.obtenerUsuario(claveUsuario);
        
        HndlrGrupo hGrupo = HndlrGrupo.getInstance();
        Rol r = new Rol(usr, enumRol.PARTICIPANTE);
        hGrupo.agregarUsuarioGrupo(r,nomGrupo);
    }
    
    @Override
    public ArrayList<DataGrupo> listarGrupos(){
        
        HndlrGrupo HGr = HndlrGrupo.getInstance();
        
        return HGr.listarGrupos();
        
    }
    
    @Override
    public boolean PerteneceMiembroAgrupo(String mailUsr, String nomGrupo){
        
        HndlrGrupo hGr = HndlrGrupo.getInstance();
        
        return  hGr.PerteneceMiembroAgrupo(mailUsr, nomGrupo);
        
    }
    
    @Override
    public ArrayList<DataUsuario> listarDusuariosGrupo(String nomGrupo){
        
        ArrayList<DataUsuario> lista = new ArrayList<DataUsuario>();
        
        HndlrGrupo hGrupo = HndlrGrupo.getInstance();
        Iterator<Rol> itera = hGrupo.obtenerGrupo(nomGrupo).getUsr().iterator();
        
        while (itera.hasNext()){
            
            DataUsuario du = itera.next().getUsr().getDusuario();
            lista.add(du);
            
        }
        
        return lista;
    }
        
}
